package cn.lingyangwl.agile.msg.push.api.constatnts;

import cn.lingyangwl.framework.tool.core.exception.BizException;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * @author shenguangyang
 */
@Getter
@AllArgsConstructor
public enum NoticeCodeEnum {
    REGISTER_VERIFY("register_verify"),
    VERIFY_EMAIL("verify_email"),
    VERIFY_SMS("verify_sms"),

    /**
     * 站内消息推送(业务版)
     */
    BIZ_SITE_PUSH("biz_site_push"),

    /**
     * 退款成功
     */
    ORDER_REFUND_SUCCESS("order_refund_success"),
    /**
     * 订单支付通知
     */
    ORDER_PAY_SUCCESS("order_pay"),

    ;
    private final String code;

    public static void checkExist(String noticeCode) {
        if (Arrays.stream(values()).noneMatch(e -> e.getCode().equals(noticeCode))) {
            throw new BizException("消息通知编码 {} 不存在, 请联系管理员", noticeCode);
        }
    }

}
